﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Chilis.Proveedores.TransferObjects;
using System.Data;

namespace Chilis.Proveedores.DataAccess.Mapper
{
    public static class ConvocatoriaMapper
    {
        public static ConvocatoriaDTO GetConvocatoria(this IDataReader reader)
        {
            return new ConvocatoriaDTO()
            {
                IdConvocatoria = reader.GetInt32("IdConvocatoria"),
                Nombre = reader.GetString("nombre"),
                Codigo = reader.GetString("codigo"),
                FechaCreacion = reader.GetDatetimeNull("fechacreacion"),
                FechaCreacionString = reader.IsDBNull("fechacreacion") ? "" : reader.GetDatetime("fechacreacion").ToString("dd/MM/yyyy"),
                Requerimiento = reader.GetString("requerimiento"),
                FechaFin = reader.GetDatetimeNull("fechafin"),
                FechaFinString = reader.IsDBNull("fechafin") ? "" : reader.GetDatetime("fechafin").ToString("dd/MM/yyyy"),
                Visita = reader.GetBoolean("visita"),
                Estado = reader.GetString("estado")
            };
        }

        public static ConvocatoriaDTO GetConvocatoriaSearch(this IDataReader reader)
        {
            return new ConvocatoriaDTO()
            {
                IdConvocatoria = reader.GetInt32("IdConvocatoria"),
                Nombre = reader.GetString("nombre"),
                Codigo = reader.GetString("codigo"),
                FechaCreacion = reader.GetDatetimeNull("fechacreacion"),
                FechaCreacionString = reader.IsDBNull("fechacreacion") ? "" : reader.GetDatetime("fechacreacion").ToString("dd/MM/yyyy"),
                Requerimiento = reader.GetString("requerimiento"),
                FechaFin = reader.GetDatetimeNull("fechafin"),
                FechaFinString = reader.IsDBNull("fechafin") ? "" : reader.GetDatetime("fechafin").ToString("dd/MM/yyyy"),
                Visita = reader.GetBoolean("visita"),
                NombreEstado = reader.GetString("NombreEstado"),
                IdArea = reader.GetInt32("IdArea"),
                NombreArea = reader.GetString("NombreArea")
            };
        }

        public static ConvocatoriaDTO GetConvocatoriaSelectItem(this IDataReader reader)
        {
            return new ConvocatoriaDTO()
            {
                IdConvocatoria = reader.GetInt32("IdConvocatoria"),
                Nombre = reader.GetString("nombre")
            };
        }
    }
}
